package com.xgk.boot.module.core.dal.entity.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xgk.boot.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 订单费用明细
 * </p>
 *
 * @author yfbao
 * @since 2025-06-14
 */
@Data
@TableName("order_fee_detail")
public class OrderFeeDetailDO extends BaseDO {

    @TableId(value = "ofd_id", type = IdType.ASSIGN_ID)
    private Long ofdId;

    /**
     * 订单编号
     */
    @TableField("order_code")
    private String orderCode;

    /**
     * 订单箱号
     */
    @TableField("box_code")
    private String boxCode;

    /**
     * 运单号
     */
    @TableField("tracking_number")
    private String trackingNumber;

    /**
     * 费用代码
     */
    @TableField("ft_code")
    private String ftCode;

    /**
     * 本位币金额
     */
    @TableField("ofd_amount")
    private BigDecimal ofdAmount;

    /**
     * 费用备注
     */
    @TableField("ofd_note")
    private String ofdNote;

    /**
     * 操作用户ID
     * 0:SYSTEM -1:客户自操作
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 系统备注
     */
    @TableField("ofd_sys_note")
    private String ofdSysNote;

    /**
     * 发生时间
     */
    @TableField("ofd_add_time")
    private Date ofdAddTime;

    /**
     * 更新时间
     */
    @TableField("ofd_update_time")
    private Date ofdUpdateTime;

    /**
     * 所属实体ID
     */
    @TableField("entity_id")
    private Integer entityId;

    /**
     * 体积计算
     */
    @TableField("calc_vol")
    private String calcVol;


    @Override
    public String toString() {
        return "OrderFeeDetail{" +
                ", ofdId = " + ofdId +
                ", orderCode = " + orderCode +
                ", boxCode = " + boxCode +
                ", trackingNumber = " + trackingNumber +
                ", ftCode = " + ftCode +
                ", ofdAmount = " + ofdAmount +
                ", ofdNote = " + ofdNote +
                ", userId = " + userId +
                ", ofdSysNote = " + ofdSysNote +
                ", ofdAddTime = " + ofdAddTime +
                ", ofdUpdateTime = " + ofdUpdateTime +
                ", entityId = " + entityId +
                ", calcVol = " + calcVol +
                "}";
    }
}
